﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Inventario_HardSoft.Controlador;
using Inventario_HardSoft.ADO;

namespace Inventario_HardSoft.Presentacion
{
    public partial class Gestionar_Sucursales : Form
    {
        Ctrl_Empr_Nombr control_Empresa;
        Ctrl_Reg_Sucursal control_Sucursal;
        Ctrl_Reg_Sucursal controlador;
        Ctrl_Empr_Nombr empresaN;
        
        public Gestionar_Sucursales()
        {
            InitializeComponent();
            control_Empresa = new Ctrl_Empr_Nombr();
            control_Sucursal = new Ctrl_Reg_Sucursal();
            controlador = new Ctrl_Reg_Sucursal();
            empresaN = new Ctrl_Empr_Nombr();

        }

        private void cmb_Empresa_DropDown(object sender, EventArgs e)
        {
            List<EMPRESA> reparadores = empresaN.getList_empresaNombr();
            foreach (EMPRESA r in reparadores) //recorre cada elemento de label1 lista
            {
                cmb_Empresa.Items.Add(r.NOMBREEMPRESA.ToString());
            }
        }

        private void btn_Ver_Click(object sender, EventArgs e)
        { 
             control_Sucursal.getList_susSucursales(grid_SucursalesEmpresa, cmb_Empresa.SelectedItem.ToString());
             grid_SucursalesEmpresa.ClearSelection();
             if (grid_SucursalesEmpresa.Rows.Count < 1) 
             {
                 MessageBox.Show("La empresa no tiene sucursales asignadas","Gestionar empresa - sucursal");
             } 
        }

        private void cmb_Empresa_Click(object sender, EventArgs e)
        {
            cmb_Empresa.SelectedIndex = -1; 
        }

        private void Gestionar_Sucursales_Load(object sender, EventArgs e)
        {
            controlador.getListSucursal(grib_Data);
            grib_Data.ClearSelection();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            bool repetido1 = false;
            bool repetido2 = false;

            if (grib_Data.SelectedRows.Count > 0)
            {
                foreach (DataGridViewRow rowSelected in grib_Data.SelectedRows)
                {
                    foreach (DataGridViewRow dr in grid_SucursalesAsignadas.Rows)
                    {
                        if (rowSelected.Cells["idSucursal1"].Value.ToString() == dr.Cells["idSucursal2"].Value.ToString())
                        {
                            repetido1 = true;
                            break;                           
                        }
                        else
                        {
                            repetido1 = false;
                        }
                    }

                    if (!repetido1)
                    {
                        //verificamos que no este ya instalado
                        foreach (var item in grid_SucursalesAsignadas.Rows) ////////////
                        {
                            if (rowSelected.Cells["sucursal1"].Value.ToString() == item.ToString())
                            {
                                repetido2 = true;
                                break;
                            }
                            else
                            {
                                repetido2 = false;
                            }
                        }

                        if (!repetido2)
                        {
                            grid_SucursalesAsignadas.Rows.Add(new object[] { rowSelected.Cells["idSucursal1"].Value.ToString(), rowSelected.Cells["sucursal1"].Value.ToString() });
                        }
                    }
                }
            }

            grid_SucursalesAsignadas.ClearSelection();
        }

        private void btnAsiganar_Click(object sender, EventArgs e)
        { 
            if (grid_SucursalesAsignadas.Rows.Count > 0)
                {
                    DialogResult idS = control_Empresa.capturaIdEmpresa(grid_SucursalesAsignadas, cmb_Empresa.SelectedItem.ToString());
                    switch (idS)
                    {
                        case DialogResult.OK:
                            MessageBox.Show("Las sucursales fueron asignados correctamente", "Camilo", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                            this.Close();
                            break;
                        case DialogResult.Cancel:
                            MessageBox.Show("Ha ocurrido un error", "Camilo", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                            this.Close();
                            break;
                    }
                }
                else
                {
                    MessageBox.Show("No ha ingresado sucursales", "Camilo", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                }            
        } 
    }
}
